import {
    reqOrderList
} from "../../../api/orderpay"

// pages/order/list/index.js
Page({
    // 页面的初始数据
    data: {
        orderList: [1, 2, 3],   // 订单列表
        page: 1,    // 页码
        limit: 10,  // 每页显示条数
        total: 0,   // 订单总条数
        isLoading: false    // 判断数据是否加载中
    },
    // 获取订单列表
    async getOrderList() {
        // 解构获取数据
        const {
            page,
            limit
        } = this.data
        // 数据正在请求中
        this.isLoading = true
        const res = await reqOrderList(page, limit)
        // 数据加载完毕
        this.isLoading = false
        if (res.code === 200) {
            this.setData({
                orderList: [...this.data.orderList, ...res.data.records],
                total: res.data.total
            })
        }
    },
    // 页面上拉触底事件的处理函数
    onReachBottom() {
        // 解构数据
        const { page, total, orderList, isLoading } = this.data
        
        // 判断是否加载完毕，如果isLoading等于true
        // 说明数据还没有加载完毕，不加载下一页数据
        if (isLoading) return

        // 数据总条数和订单列表长度进行对比
        if (total === orderList.length) {
            wx.toast({ title: '数据加载完毕' })
            return
        }
        // 更新page
        this.setData({
            page: page + 1
        })
        // 重新发送请求
        this.getOrderList()
    },
    // 生命周期函数，监听页面加载
    onLoad() {
        this.getOrderList()
    }
})